1. Field of Invention
This invention relates to the tagging of audiovisual content, such as analog or digital motion pictures that are broadcast or transmitted over cable, and streaming video transmitted over the Internet, and the seamless though selectively filtered replay of such content at some later time including near real-time.
2. Description of the Prior Art
Some people object to certain types of content in broadcast video and other programming materials. These programs are sometimes tagged with indicia that classify them as containing violence, sex, etc. in order that such programs may be filtered out. Typically, Web content is filtered by a service provider or browser. There are also systems for filtering out objectionable scenes in motion picture programming.
In its simplest form, content censoring provides only two choicesxe2x80x94viewing or not of the overall programming material. Typically, a parent may not allow a child to view an R-rated motion picture in its entirety. Alternatively, instead of tagging a motion picture in its entirety, individual scenes might be tagged as objectionable or not, and a set-top box or PC could control selective viewing of the material based on the binary code used as a tag for each individual scene. Slightly more sophisticated systems could not only control viewing on a scene-by-scene basis, but they could give the user more control over the censoring. U.S. Pat. No. 5,913,013 and others in the name of the same inventor, Max Abecassis, disclose the tagging of individual scenes with many different codes representing many different possible types of objectionable content. The user selects the content types to be filtered out, and thus the individual scenes to be cut. By choosing different combinations of content types to be filtered out, different users will xe2x80x98producexe2x80x99 what in effect are different versions of the same programming material.
Since Abecassis type systems are applicable to motion pictures on DVDs, if a scene is to be cut, the viewer would be very unhappy if his screen were to go blank while the objectionable scene is processed. Therefore, what should occur is a jump immediately from the end of one scene to the beginning of the next unobjectionable scene. Toward this end, Abecassis provides a xe2x80x98content mapxe2x80x99 that for each combination of codes allows the xe2x80x98approvedxe2x80x99 scenes to be played seamlessly one after the otherxe2x80x94the locations of all scenes on the DVD, and the sequence in which they are to be played, are determined before play begins. The DVD player simply jumps from predetermined scene to predetermined scene.
In an Abecassis type scheme, not only is the entire motion picture available before play begins, so is the content map that characterizes each scene (violence, objectionable language, religious irreverence, etc.) and also provides its start and end points on the DVD or other recording of the motion picture.
Some people would also like to control the filtering out of objectionable material from live broadcasts. The tagging of scenes is not difficult. There are already systems employing trained professionals who monitor, xe2x80x98refereexe2x80x99 and filter Web content and chat room conversations. There would be little difficulty in arranging for such trained professionals to monitor, classify and tag television broadcast scenes by inserting appropriate tags in the vertical blanking intervals, or in the viewing area along the lines disclosed in Broughton et al U.S. Pat. No. 4,807,031, or in coded MPEG video streams, or in a variety of other formats.
A short delay of perhaps a few seconds would have to be introduced at the supply side in order to give a coder adequate time to monitor, classify and insert tags, but the coding process would be transparent to a viewer. As soon as content in a particular category is viewed by a coder, he would insert an appropriate tag in the scene simply by pressing one of perhaps a few buttons or speaking voice activation commands to a console made available to him. The appearance of a tag different from the preceding tag would mark the beginning of a new scene for filtering purposes.
However, the scheme fails in the broadcast environment because there is no way to seamlessly jump to the next unobjectionable scene since it has not yet been broadcastxe2x80x94the viewer must wait until the objectionable scene or scenes have been broadcast while his screen remains blank. The same problem exists with pre-recorded broadcasts, and even pre-recorded broadcasts that are pre-tagged. If a scene is to be skipped over, for seamless play there must be another scene ready to be processed, and there isn""t in the broadcast scenario.
A general object of this invention is to provide for the tagging of broadcast motion pictures and streaming video materials (hereinafter xe2x80x9cprogramming materialsxe2x80x9d) with content type codes and the processing thereof so that selectively filtered but seamless play can be achieved.
In accordance with the principles of this invention, the viewer""s set-top box is equipped with a personal video recorder such as those sold under the trademarks TiVo and ReplayTV. These devices provide for the recording of video programs and playback of them at any future time under control of a disk operating system. (The playback can be almost immediately after the recording so that the devices can simulate the xe2x80x98pausexe2x80x99 function of a video tape recorder. A viewer receiving a telephone call might continue to record a program he is watching, though as soon as the call comes in, the viewer could pause playback while the machine continues to record. At the end of the call, the viewer simply resumes play where he left off by reverting back from xe2x80x98pausexe2x80x99 to xe2x80x98play.xe2x80x99 Recording and playback take place simultaneously, with the playback lagging behind the recording. If the call takes two minutes, the effect is that of a two-minute pause.)
The live or pre-recorded broadcast or streamed video includes content tags that are inserted as discussed above. The tags are recorded along with the programming material itself, and the tags are used to control the skipping over of objectionable scenes. Seamless play is achieved by delaying the start of play after the start of recording by a time interval equal to or greater than the expected sum of the durations of the scenes to be deleted. In this way, whenever a scene is to be skipped over, the next scene will be available on the personal video recorder ready for play.
For example, if the objectionable scenes in a motion picture have a total duration of ten minutes, simply delaying play of the recorded video for at least ten minutes after the start of its broadcast will allow for seamless play even with filtered out scenes. If the tagging result is binary, i.e., a scene is either on or off the play list, then scenes are allowed or disallowed and the viewer has no control over the content other than to accept or reject the coder""s judgment. If the tagging is done before the broadcast so that the sum total of the material to be deleted is known in advance, then an announcement may be made prior to the broadcast of the minimum required delay to allow for seamless play. If more sophisticated user controls are allowed, so that different viewers will xe2x80x98producexe2x80x99 different versions of the same motion picture or streaming video, then estimates of minimum and maximum delays may be provided. In automatic systems, such as might be used with a browser, fixed delays would be in order, varying with the type and expected length of the material being broadcast, which in turn might be specified as part of a header preceding the material itself. (The tagging result need not be binary, i.e., the tagging result for a scene might not simply put a scene on or off the play list but might replace a scene judged to be offensive with a scene judged to be inoffensive if xe2x80x98substitutexe2x80x99 scenes were to be transmitted or streamed with the original program for xe2x80x98swappingxe2x80x99 with scenes that might be judged to be offensive. This would require editorial cooperation from the program supplier so that xe2x80x98substitutexe2x80x99 scenes could be created, broadcast or streamed and used as substitutes for scenes likely to be judged offensive by some viewers.)
Using a personal video recorder and delaying the start of play sufficiently after the start of recording goes only part way in solving the seamless-play problem. The start of every scene may be tagged so that the set-top box or other control device can make a decision, based on user preferences, whether the scene just beginning should be played. But if it should not be played, the set-top box must somehow be told the location of the next scene to be played. Every frame may have a time code or otherwise be given an address, but the address of the next scene must be known at the start of the present one if the present one is to be skipped.
With an Abecassis type system, a complete xe2x80x98roadmapxe2x80x99 is provided in advance, before play even begins. This type of scheme cannot be used where the coding is being done on the fly, for example, during a live broadcast. DVD players, on the other hand, use a different approach. Every scene points to the address of the next scene depending on the viewer""s content preferences, see, e.g., Cookson et al U.S. Pat. No. 5,598,276. The entire xe2x80x98roadmapxe2x80x99 need not be known in advance; rather, the player is told at the end of every scene where to jump for the next scene in order to satisfy user preferences as to content. But even such an approach is insufficient for the content control under consideration because with a live broadcast the coder simply applies codes at the start of each scenexe2x80x94for example, the starting point for the next PG-rated or R-rated scene is not known in advance so there is no way to specify at the start of each scene the location of the next scene if the present one is to be skipped. The starting points of all scenes will be known if the coding is done before the broadcast, but for the set-top box to function as desired in all cases, it must be capable of handling even live broadcasts for which each scene is tagged as to content but a xe2x80x98roadmapxe2x80x99 is otherwise unavailable.
The solution to this problem is to generate a table as the program is being recorded on the disk. This table associates with each scene not only its tagged code, but also address information for the next scene. This address information is known as soon as the next scene comes in, and the fact that a new scene is coming in is known from the appearance of new tagged codes. The starting address of the new scene is recorded with the data for the previous scene. Thus if any scene is to be skipped over, the system will have the starting address of the next scene. If its codes dictate that it, too, is not to be played, its data will include the starting address of the following scene, etc. Delay in the start of play is necessary to accommodate the sum total of the intervals being cut so that play is seamless. This provides the necessary time to record at the end of any broadcast or streamed current scene the xe2x80x98roadmapxe2x80x99 data needed to control a jump to the next scene if the current scene is not to be played. The table data can be stored in memory, preferably non-volatile memory, or even on the disk on which the program material is recorded.
Alternatively, the table can include for each scene just its starting location on the disk and its content codes. The starting address of the next scene to be played need not be stored if the records for the scenes are stored contiguously or in some predetermined order. If this is done, the starting address for the next scene can be determined simply by looking at the next record.